package cn.xzqwjw.taskmanager.common.customEnum;

import lombok.Getter;

/**
 * @author rush
 */
@Getter
public enum CategoryTagEnum {

  UNIT_DEPARTMENT(1, "部门单位"),
  ARTICLE(2, "文章类别");

  /**
   * 获取到对应实例的 id 值，为数据库中的 id 值
   */
  private final int id;

  /**
   * 获取到对应实例的 message 值
   */
  private final String tag;

  /**
   * 这里实际是定义了枚举的构造函数
   */
  CategoryTagEnum(int id, String tag) {
    this.id = id;
    this.tag = tag;
  }

  /**
   * 很多情况，我们可能从前端拿到的值是枚举类的 tag，可通过以下方法获取到对应枚举值 id
   */
  public static int getIdOfTag(String tag) {
    for (CategoryTagEnum categoryTagEnum : CategoryTagEnum.values()) {
      if (categoryTagEnum.tag.equals(tag)) {
        return categoryTagEnum.id;
      }
    }
    // 执行到这里，说明没有找到对应值
    // throw new IllegalArgumentException("没有定义tag为：" + tag + " 的对应id！");
    return 0;
  }

}